//编写与服务器进行异步交互的代码
import request from '@/utils/request'
import type { DeptModel, ResultModel } from './model/model'

//request是axios的实例对
//get<any，ResultModel>()调用get异步请求，any代表的是请求参数类型任意，ResultModel代表异步请求返回值数据类型

//1. 查询所有部门 ---> 第二个泛型, 指服务器响应的数据类型
export const queryAllApi = () =>  request.get<any, ResultModel>('/depts')

//2. 新增部门 ---> 第二个泛型, 指服务器响应的数据类型
export const addApi = (dept:DeptModel) =>  request.post<any, ResultModel>('/depts', dept)

//3. 根据id查询 ---> 第二个泛型, 指服务器响应的数据类型
export const getIdApi = (id:number) =>  request.get<any, ResultModel>(`/depts/${id}`)

//4. 修改部门 ---> 第二个泛型, 指服务器响应的数据类型
export const updateApi = (dept:DeptModel) =>  request.put<any, ResultModel>(`/depts`, dept)

//5. 删除部门 ---> 第二个泛型, 指服务器响应的数据类型
export const deleteApi = (id:number) =>  request.delete<any, ResultModel>(`/depts?id=${id}`)
